An easy to use parser system for lightweight parsing needs. It's designed to be easy to use, but not designed to be fast. From a grammar file it generates readable Python code that looks somewhat like what you might have written by hand. [Open Source,...
Research includes sequential and parallel algorithms, computational problems in databases, computational geometry, design and analysis of programs and programming languages, and combinatorial, logical, and algebraic mathematics.
Berkeley - Type systems, static program analysis and abstract interpretation, constraint resolution algorithms, parallel programming, language design, domain specific languages, end user programming, visualization.
Online paper about path-finding, including the A* algorithm and a greedy algorithm. Implementation notes, precalculation, map representations, heuristics, applications.